Skip to content

chore(deps): pin pyasn1 >=0.6.4 and cryptography >=50.0.0 to fix high-severity Dependabot alerts - #2310

Open
devin-ai-integration[bot] wants to merge 4 commits into
masterfrom
devin/dependabot-pyasn1-1785639935
Open

chore(deps): pin pyasn1 >=0.6.4 and cryptography >=50.0.0 to fix high-severity Dependabot alerts#2310
devin-ai-integration[bot] wants to merge 4 commits into
masterfrom
devin/dependabot-pyasn1-1785639935

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Clears all four open high-severity Dependabot alerts in this repo. Both packages are transitive-only and there is no lock file, so the fix follows the existing idna precedent: explicit floors on the transitive dependency in pyproject.toml.

 idna = ">=3.15,<4"  # transitive dependency via requests, pinned to address CVE-2025-46816
+pyasn1 = ">=0.6.4,<0.7"       # via google-auth/pyasn1-modules
+cryptography = ">=50.0.0,<51" # via google-auth/azure-storage-blob
  • pyasn1 (3 alerts): BER/CER/DER decoder DoS via unbounded long-form tag IDs, quadratic complexity in OBJECT IDENTIFIER / RELATIVE-OID processing, uncontrolled resource consumption converting decoded REAL values. Upper bound <0.7 because pyasn1-modules pins pyasn1 <0.7.
  • cryptography (1 alert, CVE-2026-69247 / GHSA-g6cj-pr64-35w5, vulnerable >=44.0.0,<50.0.0): PKCS#7 EnvelopedData Bleichenbacher oracle. No dependent caps cryptography (google-auth >=38.0.3, azure-storage-blob >=2.1.4, snowflake-connector-python >=46.0.5), so the floor resolves cleanly — verified with a scratch poetry lock (Poetry 1.8.5, matching the repo) over the full dependency set including the warehouse extras.

Link to Devin session: https://app.devin.ai/sessions/9b1b941648704776a28d6b134f3a667e

Summary by CodeRabbit

  • Chores
    • Updated foundational components to incorporate security fixes and improve compatibility with newer supported versions.
    • Added minimum supported versions for select security-sensitive components.
    • Removed unnecessary version restrictions to support a broader range of compatible releases.
    • No user-facing features, workflows, public interfaces, or configuration requirements have changed.
    • Updates are applied transparently during normal application use.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

👋 @devin-ai-integration[bot]
Thank you for raising your pull request.
Please make sure to add tests and document all user-facing changes.
You can do this by editing the docs files in this pull request.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f6436701-d0a1-45be-9560-eeedf060803e

📥 Commits

Reviewing files that changed from the base of the PR and between df617a6 and fd31333.

📒 Files selected for processing (1)
  • pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • pyproject.toml

📝 Walkthrough

Walkthrough

The project metadata updates version constraints for urllib3, idna, pyasn1, and cryptography. The changes include security advisory notes.

Changes

Runtime dependency updates

Layer / File(s) Summary
Update runtime dependency constraints
pyproject.toml
Removes upper bounds from urllib3 and idna. Adds minimum versions for pyasn1 and cryptography with security advisory notes.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main dependency constraints added to address high-severity security alerts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/dependabot-pyasn1-1785639935

Comment @coderabbitai help to get the list of available commands.

…t alert

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration devin-ai-integration Bot changed the title chore(deps): pin pyasn1 >=0.6.4 to fix high-severity Dependabot alerts chore(deps): pin pyasn1 >=0.6.4 and cryptography >=50.0.0 to fix high-severity Dependabot alerts Aug 9, 2026
Comment thread pyproject.toml Outdated
urllib3 = ">=2.7.0,<3.0.0"
idna = ">=3.15,<4" # transitive dependency via requests, pinned to address CVE-2025-46816
pyasn1 = ">=0.6.4,<0.7" # transitive dependency via google-auth/pyasn1-modules, pinned to address BER/CER/DER decoder DoS advisories
cryptography = ">=50.0.0,<51" # transitive dependency via google-auth/azure-storage-blob, pinned to address CVE-2026-69247 (PKCS#7 Bleichenbacher oracle)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering if this might be too restrictive for users as this is a common library.
Should we instead upgrade libraries so we can rely on newer versions?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair concern — and upgrading parents won't help here. The advisory (GHSA-g6cj-pr64-35w5) affects cryptography >=44.0.0,<50.0.0 with no backport: 50.0.0 (released 2026-07-31) is the only fixed version. So any floor that satisfies Dependabot is "latest major, 9 days old". No parent of ours caps cryptography (google-auth >=38.0.3, azure-storage-blob >=2.1.4, snowflake-connector-python >=46.0.5, no constraint in the dbt adapters), so the pin doesn't conflict today — but it does force every edr install into a brand-new major of a very common library, which in a shared dbt env is exactly the friction you're describing.

Worth noting the exposure: the vuln is a Bleichenbacher oracle in PKCS#7 EnvelopedData decryption (pkcs7_decrypt_der/pem/smime). We never decrypt PKCS#7 — cryptography reaches us only as a transitive TLS/JWT dependency of google-auth, azure-storage-blob and snowflake — so this is not exploitable in elementary.

Three options, happy to push whichever you prefer:

  1. Drop the cryptography pin entirely and dismiss the alert as "vulnerable code not in path" (my recommendation, given the above).
  2. Keep the floor but drop the <51 cap → cryptography = ">=50.0.0", so users aren't blocked from future majors.
  3. Leave as-is.

pyasn1 in the same diff is unaffected by this discussion — 0.6.4 is a patch on the current line and closes three real DoS advisories.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok so let do (2) - drop the gap.
Also for other similar transitive deps limitations.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in df617a6 — dropped the upper caps on all the transitive-only pins, so they're pure security floors now:

-urllib3 = ">=2.7.0,<3.0.0"
-idna = ">=3.15,<4"
-pyasn1 = ">=0.6.4,<0.7"
-cryptography = ">=50.0.0,<51"
+urllib3 = ">=2.7.0"
+idna = ">=3.15"
+pyasn1 = ">=0.6.4"
+cryptography = ">=50.0.0"

Each of these already has its major bounded by the parent that actually depends on it (requests caps urllib3<3 and idna<4, pyasn1-modules caps pyasn1<0.7), so the caps were redundant and only served to block users from future majors. Left requests, dbt-core etc. untouched since those are real direct deps where the major bound is intentional.

…1, cryptography, urllib3)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pyproject.toml`:
- Line 31: Update the inline comment on the idna dependency declaration to
reference CVE-2026-45409 and GHSA-65pc-fj4g-8rjx, and state that version 3.15 is
the security floor; remove the incorrect CVE-2025-46816 reference while
preserving the dependency constraint.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 30a3cccf-a036-4f1d-bf39-2048a8673cd0

📥 Commits

Reviewing files that changed from the base of the PR and between ce5c6a6 and df617a6.

📒 Files selected for processing (1)
  • pyproject.toml

Comment thread pyproject.toml Outdated
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant